package com.hong.course.controller;
import com.hong.course.client.CourseListClient;
import com.hong.course.entity.Course;
import com.hong.course.entity.CourseAndPrice;
import com.hong.course.service.CoursePriceService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * 描述：课程价格控制器
 */
@RestController
public class CoursePriceController {
    @Autowired
    CoursePriceService coursePriceService;

    @Autowired
    CourseListClient courseListClient;// 注入课程列表服务

    @GetMapping("/price")
    public Integer getCoursePrice(Integer courseId) {
        return coursePriceService.getCoursePrice(courseId).getPrice();
    }

    // 在价格服务中，调用课程列表服务，获取课程列表中的课程价格
    @GetMapping("/coursesInPrice")
    public List<Course> getCourseListInPrice() {
        List<Course> courses = courseListClient.courseList();
        return courses;
    }

    // 在价格服务中，调用课程列表服务，将课程列表和课程价格组装成课程和价格融合实体类列表
    @GetMapping("/coursesAndPrice")
    public List<CourseAndPrice> getCourseAndPrice() {
        return coursePriceService.getCourseAndPrice();
    }
}
